package thread;

import java.util.Scanner;

public class test14 {
    /*volatile关键字的作用主要有如下两个：
    1.保证内存可见性：基于屏障指令实现，即当一个线程修改一个共享变量时，另外一个线程能读到这个修改的值。
    2.保证有序性：禁止指令重排序。编译时 JVM 编译器遵循内存屏障的约束，运行时靠屏障指令组织指令顺序。
    注意：volatile 不能保证原子性*/
    private static volatile int count=0;
    public static void main(String[] args) {
        Thread t=new Thread(()->{
            while(count==0){

            }
            System.out.println("t执行~");
        });
        t.start();
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入:");
        count=scanner.nextInt();
    }
}
